using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("Reward")]
	public class Reward : MonoBehaviour
	{
		public enum Type
		{
			ARCANE_DUST,
			BOOSTER_PACK,
			CARD,
			CARD_BACK,
			CRAFTABLE_CARD,
			FORGE_TICKET,
			GOLD,
			MOUNT,
			CLASS_CHALLENGE,
			EVENT,
			RANDOM_CARD
		}

		[Attribute38("Reward.LoadRewardCallbackData")]
		public class LoadRewardCallbackData : MonoClass
		{
			public object m_callbackData => method_3<object>("m_callbackData");

			public LoadRewardCallbackData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public LoadRewardCallbackData(IntPtr address)
				: this(address, "LoadRewardCallbackData")
			{
			}
		}

		public GameObject m_root => method_3<GameObject>("m_root");

		public bool m_showBanner => method_2<bool>("m_showBanner");

		public bool m_playSounds => method_2<bool>("m_playSounds");

		public RewardBanner m_rewardBannerPrefab => method_3<RewardBanner>("m_rewardBannerPrefab");

		public GameObject m_rewardBannerBone => method_3<GameObject>("m_rewardBannerBone");

		public PegUIElement m_clickCatcher => method_3<PegUIElement>("m_clickCatcher");

		public GameObject m_MeshRoot => method_3<GameObject>("m_MeshRoot");

		public float m_EchoHideMeshDelay => method_2<float>("m_EchoHideMeshDelay");

		public RewardBanner m_rewardBanner => method_3<RewardBanner>("m_rewardBanner");

		public RewardData m_data => method_3<RewardData>("m_data");

		public Type m_type => method_2<Type>("m_type");

		public bool m_ready => method_2<bool>("m_ready");

		public bool m_shown => method_2<bool>("m_shown");

		public Type RewardType => method_11<Type>("get_RewardType", Array.Empty<object>());

		public RewardData Data => method_14<RewardData>("get_Data", Array.Empty<object>());

		public bool IsShown => method_11<bool>("get_IsShown", Array.Empty<object>());

		public Reward(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Reward(IntPtr address)
			: this(address, "Reward")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void Show(bool updateCacheValues)
		{
			method_8("Show", updateCacheValues);
		}

		public void PlayShowSounds()
		{
			method_8("PlayShowSounds");
		}

		public void HideWithFX()
		{
			method_8("HideWithFX");
		}

		public void Hide(bool animate)
		{
			method_8("Hide", animate);
		}

		public void OnHideAnimateComplete()
		{
			method_8("OnHideAnimateComplete");
		}

		public void SetData(RewardData data, bool updateVisuals)
		{
			method_8("SetData", data, updateVisuals);
		}

		public void NotifyLoadedWhenReady(LoadRewardCallbackData loadRewardCallbackData)
		{
			method_8("NotifyLoadedWhenReady", loadRewardCallbackData);
		}

		public void EnableClickCatcher(bool enabled)
		{
			method_8("EnableClickCatcher", enabled);
		}

		public void InitData()
		{
			method_8("InitData");
		}

		public void ShowReward(bool updateCacheValues)
		{
			method_8("ShowReward", updateCacheValues);
		}

		public void OnDataSet(bool updateVisuals)
		{
			method_8("OnDataSet", updateVisuals);
		}

		public void HideReward()
		{
			method_8("HideReward");
		}

		public void SetReady(bool ready)
		{
			method_8("SetReady", ready);
		}

		public void SetRewardText(string headline, string details, string source)
		{
			method_8("SetRewardText", headline, details, source);
		}

		public void OnClickReleased(UIEvent e)
		{
			method_8("OnClickReleased", e);
		}

		public void OnHide()
		{
			method_8("OnHide");
		}
	}
}
